Passed
Pull Request — master (#3)
by Tito
03:27
created

gulp.task(ꞌconfigꞌ)   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
dl 0
loc 6
rs 10
c 0
b 0
f 0
nop 1
1
const gulpUtils = require("./gulp/gulp-utils.js");
2
const utils = require("./gulp/utils.js");
3
const gulp = require("gulp");
4
const yargs = require("yargs");
5
const fs = require("fs");
6
7
const allExtensionTypes = [
8
    "components",
9
    "libraries",
10
    "plugins"
11
];
12
const extensionTypes = [];
13
14
allExtensionTypes.forEach(function (type) {
15
    "use strict";
16
    if (fs.existsSync("./extensions/" + type)) {
17
        require("./gulp/" + type + ".js");
18
        extensionTypes.push(type);
19
    }
20
});
21
22
const mainTasks = gulpUtils.getBaseTasks();
23
24
// Configuration read task.  Stores it in gulpUtils.config variable
25
gulp.task("config", function (done) {
26
    "use strict";
27
    gulpUtils.setConfigurationFromData(utils.readJSON("gulp-config.json"));
28
    gulpUtils.setConfigurationFromData(yargs.argv);
29
    done();
30
});
31
32
extensionTypes.forEach(function (type) {
33
    "use strict";
34
    mainTasks.release.push("release:" + type);
35
    mainTasks.clean.push("clean:" + type);
36
    mainTasks.copy.push("copy:" + type);
37
    mainTasks.watch.push("watch:" + type);
38
});
39
40
gulp.task("release", gulp.series("config", gulp.parallel(mainTasks.release)));
41
gulp.task("clean", gulp.series("config", gulp.parallel(mainTasks.clean)));
42
gulp.task("copy", gulp.series("config", gulp.parallel(mainTasks.copy)));
43
gulp.task("watch", gulp.series("config", gulp.parallel(mainTasks.watch)));
44
gulp.task("default", gulp.parallel(gulpUtils.config.defaultTasks));